/**
 * 
 */
package datagraphics;

import database.*;

/**
 * Interfaz Visitor
 * @author Grupo 11 de Programacion Orientada a Objetos
 *
 */

public interface Visitor {
	
	/**
	 * Método invocado por una pregunta al aceptar un Visitor
	 * con el cual delega las funciones de representacion gráfica
	 * @param q - pregunta que delega su representación gráfica
	 * a una clase que implementa ésta interfaz
	 */
	
	void visit(final BooleanQuestion q);
	
	/**
	 * Método invocado por una pregunta al aceptar un Visitor
	 * con el cual delega las funciones de representacion gráfica
	 * @param q - pregunta que delega su representación gráfica
	 * a una clase que implementa ésta interfaz
	 */
	
	void visit(final MultipleQuestion q);
	
	/**
	 * Método invocado por una pregunta al aceptar un Visitor
	 * con el cual delega las funciones de representacion gráfica
	 * @param q - pregunta que delega su representación gráfica
	 * a una clase que implementa ésta interfaz
	 */
	
	void visit(final NumericQuestion q);
	
	/**
	 * Método invocado por una pregunta al aceptar un Visitor
	 * con el cual delega las funciones de representacion gráfica
	 * @param q - pregunta que delega su representación gráfica
	 * a una clase que implementa ésta interfaz
	 */
	
	void visit(final SimpleQuestion q);

}
